package websocket

import (
	"github.com/olahol/melody"
)

// 客户端

type Client struct {
	// 客户的id
	Id int `json:"id"`
	// 与客户端的会话
	Session *melody.Session `json:"-"`
}

// 客户端构造函数
func CreateClient(id int, session *melody.Session) (client Client) {
	client = Client{
		Id:      id,
		Session: session,
	}

	// 判断是否已经存在客户端，如果存在先把之前的客户端断开连接
	c, ok := clientMap[client.Id]
	if ok {
		// 关闭 先前客户端
		c.Session.Close()
	}

	// 添加新客户端
	clientMap[client.Id] = client
	// 将 客户端的id记入到Session
	client.Session.Set("id", client.Id)

	return
}
